package collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * JDK5之后推出了一个新特性:增强型for循环
 * 也称为新循环，使得我们可以用相同的语法遍历集合或数组。
 * 语法:
 * for(元素类型 变量名 : 遍历的集合或数组){
 *     ...
 * }
 *
 * 注意:新循环并不取代传统for循环的工作，仅用于遍历集合或数组。
 */
public class NewForDemo {
    public static void main(String[] args) {
        String[] array = {"one","two","three","four","five"};
        for(int i=0;i<array.length;i++){
            String str = array[i];
            System.out.println(str);
        }

        for(String str : array){
            System.out.println(str);
        }

        Collection<String> c = new ArrayList();
        c.add("one");
        c.add("two");
        c.add("three");
        c.add("four");
        c.add("five");
        System.out.println(c);
        for (String str : c){
            System.out.println(str);
        }
        //迭代器也需要指定泛型，具体类型应当与其遍历的集合指定的泛型一致
        Iterator<String> it = c.iterator();
        while (it.hasNext()){
            String str = it.next();//获取元素时无需再手动造型
            System.out.println(str);
        }
    }
}
